迭代工具模块
迭代工具模块 itertools 能实现一些常见的迭代功能,如生成排列组合。
笛卡尔乘积 product
itertools.product(iter1, iter2, ... iterN[,repeat=1])
product 方法实现从 iter1, iter2, ... iterN 序列中,生成重复 repeat 次(默认为 1)的笛卡尔乘积。
python
import itertools
product = itertools.product('12','34')
for i in product:
print(i)
排列 permutations
itertools.permutations(iteravle[,r])
permutations 方法实现从 iteravle 序列中,生成长度为 r(默认为 iteravle 的长度)的排列
python
import itertools
permutations = itertools.permutations('123', 3)
for i in permutations:
print(i)
组合 combinations
itertools.combinations(iteravle ,r)
combinations 方法实现从 iteravle 序列中,生成长度为 r 的组合
python
import itertools
combinations = itertools.combinations('123', 2)
for i in combinations:
print(i)
可重复组合 combinations_with_replacement
itertools.combinations_with_replacement(iteravle ,r)
combinations_with_replacement 方法实现从 iteravle 序列中,生成长度为 r 的组合,其中元素可重复使用
python
import itertools
combinations = itertools.combinations_with_replacement('123', 2)
for i in combinations:
print(i)